package org.example.common.session;

import cn.hutool.core.lang.Pair;
import org.example.model.dto.FullUserDto;

/**
 * @author weigang
 * @create 2022-11-08 14:42
 */
public interface SessionStore {
    /**
     * 获取用户
     *
     * @param token  jwt token
     * @param itCode it code，    如果用户不存在，
     * @return token, full user
     */
    Pair<String, FullUserDto> getUser(String token, String itCode);

    /**
     * 获取用户
     *
     * @param token  jwt token
     * @return token, full user
     */
    Pair<String, FullUserDto> getIfPresent(String token);

    /**
     * 刷新用户
     *
     * @param token jwt token
     */
    void refresh(String token);

    /**
     * 情况用户
     *
     * @param token jwt token
     */
    void clearUser(String token);
}
